// 02: 创建state 的切片
// goodsSlicer 相当于vuex 中的某一个模块
import { createSlice } from '@reduxjs/toolkit'
import axios from 'axios'
const goodsSlicer = createSlice({
    name: 'goods', // 该处相当于vuex 中的模块名
    initialState: {
        name: 'iphone14',
        price: 6000,
        navlist: []  // 页面需要展示数据
    },
    reducers: { // 同步的方法
        addPrice(state) {// state 就是 initialState
            state.price += 100
        },
        editname(state, actions) {
            // console.log('payload', actions.payload);
            state.name = actions.payload
        },
        // 给页面 数据赋值
        setnavlist(state, actions) {
            state.navlist = actions.payload
        }
    }
})



// 03: 导出user切片中的方法
export const { addPrice, editname, setnavlist } = goodsSlicer.actions
// 04: 定义异步的方法去修改initialState 数据
export const getnavdataAsync = (payload) => {
    return (dispatch) => {
        axios.get('http://kumanxuan1.f3322.net:8001/index/index').then(res => {
            // console.log(res);
            dispatch(setnavlist(res.data.data.channel))
        })
    }
}


export default goodsSlicer
